package com.qqt.csr.im.vo.req;

import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import io.swagger.v3.oas.annotations.media.Schema;
import jakarta.validation.constraints.NotNull;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.io.Serial;
import java.io.Serializable;
import java.util.Date;


@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
@JsonIgnoreProperties(ignoreUnknown = true)
@Schema(name = "QueryingRoomListReqVO", description = "获取房间列表")
public class QueryingRoomListReqVO implements Serializable {

    @Serial
    private static final long serialVersionUID = 1L;

    @Schema(description = "IM账号id", requiredMode = Schema.RequiredMode.REQUIRED)
    @NotNull(message = "IM账号id不能为空")
    private Long accountId;

    @Schema(description = "房间会话状态：0 结束,1 正常")
    @NotNull(message = "房间会话状态不能为空")
    private Integer state;

    @Schema(description = "查询房间最近会话结束的开始时间")
    private Date conversationStartTime;

    @Schema(description = "查询房间最近会话结束的结束时间")
    private Date conversationEndTime;

    @Schema(description = "查询数量，如果size=0 查询所有")
    @Builder.Default
    private int size = 5000;

}
